/*
 * Copyright (C) 2012  Romain DUBOIS
 * 
 * This file is part of NeMoS - Network and Modular Software
 * 
 * NeMoS is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * NeMoS is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with NeMoS.  If not, see <http://www.gnu.org/licenses/>.
 */
package nemos.remote.rsa.message;

import org.osgi.framework.Constants;

/**
 * MessageConfigurationConstants : The Message configuration constants class.
 * 
 * @author Romain DUBOIS
 */
public final class MessageConfigurationConstants {

    /** The transport layer ID (mostly, it contains server coordinates) */
    public static final String TRANSPORT_ID_PROPERTY = "nemos.remote.messages.transport"; //$NON-NLS-1$

    /** The message configuration name */
    public static final String CONFIG_NAME = "nemos.remote.messages"; //$NON-NLS-1$

    /**
     * The remote framework event topic root.
     * 
     * <p>
     * Events accept following properties:
     * <ul>
     * <li>{@link #SERVER} (Boolean) : If the server sent the event or a
     * connection,</li>
     * <li>{@link #TRANSPORT_ID_PROPERTY} (String) : The ID of the involved
     * network,</li>
     * <li>{@link Constants#FRAMEWORK_UUID} (String) : The UUID of the concerned
     * framework.</li>
     * </ul>
     * <p>
     */
    public static final String FRAMEWORK_EVENT_TOPIC_ROOT = "nemos/remote/rsa/message/FrameworkEvent/"; //$NON-NLS-1$

    /** The server flag property (event is emitted by the server) */
    public static final String SERVER = "server"; //$NON-NLS-1$

    /**
     * Constructor (private for constants class).
     */
    private MessageConfigurationConstants() {
        super();
    }
}
